public WatershedCommand(
LeadPoint[][] pointsArray
)
- (instancetype)initWithPointsArray:(NSArray<NSArray<NSValue *> *> *)pointsArray /*LeadPoint*/ NS_DESIGNATED_INITIALIZER;
public WatershedCommand()
public:
WatershedCommand(
array<array<LeadPoint>^>^> pointsArray
)
__init__(self,pointsArray) # Overloaded constructor
pointsArray
Array of Leadtools.LeadPoint arrays which holds the initial point/path that represents the point or path from which to segment the bitmap.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void WatershedCommandExample()
{
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
//Load an image
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm"));
LeadPoint[][] pointsArray = new LeadPoint[4][];
for (int idx = 0; idx < 4; idx++)
pointsArray[idx] = new LeadPoint[2];
// Set starting point and end point for each segment path.
pointsArray[0][0] = new LeadPoint(35, 100);
pointsArray[0][1] = new LeadPoint(35, 200);
pointsArray[1][0] = new LeadPoint(180, 115);
pointsArray[1][1] = new LeadPoint(300, 115);
pointsArray[2][0] = new LeadPoint(235, 220);
pointsArray[2][1] = new LeadPoint(260, 220);
pointsArray[3][0] = new LeadPoint(180, 330);
pointsArray[3][1] = new LeadPoint(350, 330);
//Prepare the command
WatershedCommand command = new WatershedCommand(pointsArray);
//Apply
command.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.assertTrue;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.core.*;
public void watershedCommandExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
codecs.setThrowExceptionsOnInvalidImages(true);
// Load an image
RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "DICOM\\image3.dcm"));
ArrayList<ArrayList<LeadPoint>> pointsArray = new ArrayList<ArrayList<LeadPoint>>();
for (int idx = 0; idx < 4; idx++) {
pointsArray.add(new ArrayList<LeadPoint>());
for (int i = 0; i < 2; i++) {
pointsArray.get(idx).add(new LeadPoint());
}
}
// Set starting point and end point for each segment path.
pointsArray.get(0).set(0, new LeadPoint(35, 100));
pointsArray.get(0).set(1, new LeadPoint(35, 200));
pointsArray.get(1).set(0, new LeadPoint(180, 115));
pointsArray.get(1).set(1, new LeadPoint(300, 115));
pointsArray.get(2).set(0, new LeadPoint(235, 220));
pointsArray.get(2).set(1, new LeadPoint(260, 220));
pointsArray.get(3).set(0, new LeadPoint(180, 330));
pointsArray.get(3).set(1, new LeadPoint(350, 330));
// Prepare the command
WatershedCommand command = new WatershedCommand();
command.setPointsArray(pointsArray);
// Apply
int change = command.run(image);
assertTrue(change != RasterImageChangedFlags.NONE);
codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "DICOM\\Result.dcm"), RasterImageFormat.DICOM_COLOR, 0);
System.out.println("Command run and image saved to: " + combine(LEAD_VARS_IMAGES_DIR, "DICOM\\Result.dcm"));
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document